package br.com.commercy.teste.estoque;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.springframework.beans.factory.BeanFactory;

import br.com.commercy.dominio.entidade.Estoque;
import br.com.commercy.negocio.componente.estoque.bo.EstoqueBO;
import br.com.commercy.negocio.componente.produto.bo.ProdutoBO;
import br.com.commercy.teste.produto.ApplicationTestFactoryUtil;

public class TEstoque {
	
	
	private EstoqueBO estoqueBO;
	private ProdutoBO produtoBO;
	private Estoque estoque;
	
	@Before
	public void compoeEstoque(){
		
		BeanFactory beanFactory = ApplicationTestFactoryUtil.obterInstancia().getBeanFactory();
		produtoBO = (ProdutoBO) beanFactory.getBean("produtoBOImpl");
		estoqueBO = (EstoqueBO) beanFactory.getBean("estoqueBOImpl");
		
	    estoque = new Estoque();
		estoque.setEstoqueMax(100000L);
		estoque.setEstoqueMin(0L);
		estoque.setPrazoAquisicao(10);
		estoque.setPrazoEntrega(1);
		estoque.setProduto(produtoBO.obter(1L));
	}
	
	@Test
	public void cadastraEstoque(){
		try{
		estoqueBO.salvar(estoque);
		}catch(Exception e){
			fail("Deu merda!");
		}
	}
	
	@After
	public void confereEstoque(){
		Estoque estoqueBuca = estoqueBO.obter(estoque.getIdentificador());
		assertEquals(estoqueBuca, estoque);
	}
	




}
